Since the early days of workstations and graphics displays, some display terminals have utilized an electron beam controlled by the computer system that literally draws the picture on the face of the display, which is coated with phosphorus. To draw a line, an electron gun is instructed to turn on its beam at a certain beginning point, move in a line to the end point, and then shut off the beam. The result is a smooth, continuous line. Such vector displays provide superior resolution and adequate speed when drawing simple diagrams. However, the disadvantage of a vector based system is that when the diagram to be drawn is more complex, the electron beam is unable to draw the entire picture and then refresh it before the "glow" of the phosphorus begins to fade, resulting in a "flickering" of the drawing. Additionally, how fast the electron beam can draw the entire image limits the display of dynamically changing images.
Raster technology, unlike vector technology, uses a screen painted with a pattern of phosphorus dots called pixels. The electron gun sweeps horizontally across the screen, gradually moving up and down the display in a zigzag pattern. Rather than draw a continuous line, the electron gun lights individual pixels as it sweeps across the screen. When human eyes see lit pixels, they "connect the dots" to create the optical illusion of a continuous line. The closer the dots, the more continuous the line appears to be.
However, the problem with raster based resolution is that the optical illusion is not sufficiently accurate for all applications. This is because raster displays can only display an approximation of the required picture.
The most noticeable result of this approximation is when a displayed straight line is drawn at angles other than exactly vertical or horizontal. The result is an aliasing of the straight line having a "jagged" appearance.
Nevertheless, raster displays are often desired over vector based systems because of their speed, versatility, cost savings over vector based systems, and ability to provide a significantly broader color range. Thus, there is a need in the art for a system and method for smoothing of graphical lines within a raster based display system.
Several methods have been proposed for smoothing out "jaggies." One method, disclosed within Fundamentals of Interactive Computer Graphics, by Foley, et al., Addison-Wesley Publishing Co., 1990, which is incorporated herein by reference, utilizes Bresenham's line algorithm (described in further detail below), which causes the pixels lying nearest to the desired line to be illuminated. Unfortunately, this still produces "jaggies" and makes the line look more like a staircase than a smooth line when the line is almost vertical or almost horizontal.
Another prior art method reduces the intensity of the line near the location of a "step." The effect desired is for the human eye to naturally join up the two parts of the line so that the brain completes the illusion by refusing to see the step. This method does require slight modification since the eye will tend to see two pixels lit at half intensity as dimmer than one pixel at full intensity. The disadvantage of this method is that the line continues to retain a semblance of the step and requires a considerable amount of processing time to determine the intensities of each pixel.
Another anti-aliasing method, known as exact area anti-aliasing, determines the intensity of a pixel as being proportional to the area of the pixel covered by the desired line. The disadvantage to this method is a blurring of the line edges.
Generally, the prior art methods do not sufficiently smooth out jaggies without degrading the appearance of the line, and generally require a considerable amount of additional hardware to implement.
Thus, there is a need in the art for a system and method for providing anti-aliasing for displayed lines in a graphics display system.
There is an additional need in the art for an anti-aliasing system and method that does not significantly degrade the performance and speed of the graphics display system.
There is yet another need in the art for an anti-aliasing system and method for displaying lines within a graphics display that utilizes a minimum amount of hardware to implement.